有時候,我們可能會需要多個條件的判斷,這時候就會用到 if 的巢狀條件式了!
語法如下:
if(condition 1){
statement 1;
if(condition 2){
statement 2;
}
...
...
}
上面的程式碼,是如果只滿足 condition 1,就只會執行 statement 1。要同時滿足 condtion 1&2,才會執行到 statement 2。
if...else if...else
語法如下:
if(condition 1){
statement 1;
else if(condition 2){
statement 2;
}
...
else{
statement n;
}
上面的程式碼功能是:
寫程式時,我們常常希望我們的程式是簡潔易讀的,這時候就有一個很好用的表達式可以幫助我們縮短程式碼~
其實,在剛學程式的時候,我都很少用三元表達式,因為不是很熟,但上大學發現,三元表達式真的是好好用!
一般形式:Exp1 ? Exp2 : Exp3;
其中,Exp1 是一個條件,如果條件成立,就做 Exp2 的運算,運算結果會是整個表達式的值,如果 Exp2 條件不成立,就做 Exp3 的運算,運算結果也會是整個表達式的值。
這部分需要上程式碼解釋一下:
#include<stdio.h>
int main(){
int A = 0;
char output = 'U';
output = (A == 0)?'T':'F';
printf("A=0 ?--> %c", output);
return 0;
}
輸出結果:
這個程式,是想判斷 A 是不是等於 0,一開始宣告變數 output 等於U(unknown),然後執行 output = (A==0)?'T':'F';
這行程式,這行程式的意思是「A 是否等於 0,如果是的話 output 會等於 T(true),如果否的話,output 會等於 F(false)」,然後我們再將結果輸出,會發現,output 從 ’U’ 經過判斷變成了 ’T’。
學完 if 條件句,我們可以寫個小程式練習一下如何使用 if 條件句,最經典的題目就是 BMI 問題。
讓我們寫一個程式,讓使用者輸入身高、體重,算出 BMI 輸出,並判斷過輕、適中、過重!
BMI = 體重(kg)/(身高(m)*身高(m))
BMI < 18.5 體重過輕
18.5 <= BMI < 24 體重適中
BMI >= 24 體重過重
明天再來看看這種題目如何解決!